input[type='radio'] {
  appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  transition: background-color 0.3s;
  border: 2px solid var(--text-color);
  border-radius: 50%;

  &:checked {
    border-color: var(--text-color);

    &:hover {
      filter: saturate(200%);
    }
  }

  &::before {
    content: '';
    display: block;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: var(--accent-color);
    transform: scale(0);
    transform-origin: center;
    transition: transform 0.3s ease-in;
  }

  &:checked::before {
    transform: scale(0.5);
    transition: transform 0.2s cubic-bezier(0.25, 0.25, 0.56, 2);
  }

  &:hover {
    filter: brightness(125%);
  }

  &:focus {
    outline: none;
    border-color: var(--accent-color);
  }
}

[role='radiogroup'] {
  display: inline-flex;
  gap: 0.5rem;

  &[aria-orientation='vertical'] {
    flex-direction: column;
  }

  &[aria-orientation='horizontal'] {
    align-items: center;
  }
}
